In numerous computer applications, objects are selected by a user and inserted into an area of a computer display. This is especially frequent in different kinds of programming and designing, where objects belonging to several different object types are available to the user for insertion into a working area, such as a worksheet, a document, or any other limited area of a screen, used by the active software application to display objects. The user first clicks on a particular type of object (e.g. a certain type of programming item) and then clicks on the location where an object of the particular type is desired.
In some applications a drag-and-drop procedure is utilized, meaning that the user clicks on the object type and without releasing the mouse button moves the cursor to the desired location and then releases the button. An object of the chosen type is hereby inserted at this location. This functionality is implemented in e.g. Viso from Visio Corp.
In other applications the cursor changes its appearance when an object type is clicked on, to indicate that an object will be inserted at the location of the next click. This functionality is implemented in e.g. Corel Draw.
In some cases, objects of certain object types should only be inserted into specific parts of the working area, or in connection with objects of other predetermined object types. Particularly in certain types of programming, e.g. network PLC-programming, where the overall structure has to follow a predetermined pattern, this is a common situation. Inserting an object into a location where it is not ment to be located may result in a non-working object, or even in a non-working program, with tedious error searching as a result.
It is known in the art to implement test routines for each insertion, in order to avoid erroneous placement of objects. This can either be accomplished by making certain object types unavailable to the user unless certain predetermined conditions are met, or by refusing the insertion of a selected object into certain areas. However, the user then finds him/herself in a situation where the intended operation is impossible to perform, e.g. the object he/she intends to insert into a certain location is refused by the application. This is frustrating, especially as the user does not obtain information regarding why the object cannot be inserted, nor regarding what object can be inserted instead.
An even larger problem with known methods for inserting objects of different types into a working area is the fact that the cursor always needs to be moved between the icons or menus from which the object type is chosen, and the desired location.
Another problem is the icons or menus themselves. If menus are used, it can be difficult to quickly find the desired object type. Sometimes several sub-menus need to be opened in order to find a specific object type. If icons are used they normally provide a better overview, but instead they take up valuable space that is needed for other purposes.